home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / src / fig02_22.jar / Ch02 / Fig02_22 / Fig02_22.cpp < prev   
C/C++ Source or Header  |  1997-10-11  |  2KB  |  68 lines

  1. // Fig. 2.22: fig02_22.cpp
  2. // Counting letter grades
  3. #include <iostream.h>
  4.  
  5. int main()
  6. {
  7.    int grade,       // one grade
  8.        aCount = 0,  // number of A's
  9.        bCount = 0,  // number of B's
  10.        cCount = 0,  // number of C's
  11.        dCount = 0,  // number of D's
  12.        fCount = 0;  // number of F's
  13.  
  14.    cout << "Enter the letter grades." << endl
  15.         << "Enter the EOF character to end input." << endl;
  16.  
  17.    while ( ( grade = cin.get() ) != EOF ) {
  18.  
  19.       switch ( grade ) {      // switch nested in while
  20.  
  21.          case 'A':  // grade was uppercase A
  22.          case 'a':  // or lowercase a
  23.             ++aCount;         
  24.             break;  // necessary to exit switch
  25.  
  26.          case 'B':  // grade was uppercase B
  27.          case 'b':  // or lowercase b
  28.             ++bCount;         
  29.             break;
  30.  
  31.          case 'C':  // grade was uppercase C
  32.          case 'c':  // or lowercase c
  33.             ++cCount;         
  34.             break;
  35.  
  36.          case 'D':  // grade was uppercase D
  37.          case 'd':  // or lowercase d
  38.             ++dCount;         
  39.             break;
  40.  
  41.          case 'F':  // grade was uppercase F
  42.          case 'f':  // or lowercase f
  43.             ++fCount;         
  44.             break;
  45.  
  46.          case '\n': // ignore newlines,  
  47.          case '\t': // tabs, 
  48.          case ' ':  // and spaces in input
  49.             break;
  50.  
  51.          default:   // catch all other characters
  52.             cout << "Incorrect letter grade entered."
  53.                  << " Enter a new grade." << endl;
  54.             break;  // optional
  55.       }
  56.    }
  57.  
  58.    cout << "\n\nTotals for each letter grade are:" 
  59.         << "\nA: " << aCount 
  60.         << "\nB: " << bCount 
  61.         << "\nC: " << cCount 
  62.         << "\nD: " << dCount
  63.         << "\nF: " << fCount << endl;
  64.  
  65.    return 0;
  66. }
  67.  
  68.